<ResourceDictionary
    x:Class="ICSharpCode.AvalonEdit.TextEditorExt"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:avalonEdit="clr-namespace:ICSharpCode.AvalonEdit"
	xmlns:editing="clr-namespace:ICSharpCode.AvalonEdit.Editing">
    
    <Style TargetType="{x:Type avalonEdit:TextEditor}">
        <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type avalonEdit:TextEditor}">
                    <ScrollViewer
						Focusable="False"
						Name="PART_ScrollViewer"
						CanContentScroll="True"
                        VerticalContentAlignment="Top"
						HorizontalContentAlignment="Left"
						VerticalScrollBarVisibility="Visible"
						HorizontalScrollBarVisibility="Visible"
						Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TextArea}"	
                        Padding="{TemplateBinding Padding}"
						Background="{TemplateBinding Background}"
						BorderBrush="{TemplateBinding BorderBrush}"
						BorderThickness="{TemplateBinding BorderThickness}"/>
                    <ControlTemplate.Triggers>
                        <Trigger Property="WordWrap" Value="True">
                            <Setter TargetName="PART_ScrollViewer" Property="HorizontalScrollBarVisibility" Value="Disabled"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type editing:TextArea}">
        <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
        <Setter Property="SelectionBrush">
            <Setter.Value>
                <SolidColorBrush Color="{DynamicResource {x:Static SystemColors.HighlightColorKey}}" Opacity="0.7"/>
            </Setter.Value>
        </Setter>
        <Setter Property="SelectionBorder">
            <Setter.Value>
                <Pen Brush="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" Thickness="1"/>
            </Setter.Value>
        </Setter>
        <Setter Property="SelectionForeground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
        <Setter Property="CurrentLineBrush">
            <Setter.Value>
                <SolidColorBrush Color="BlueViolet" Opacity="0.1"/>
            </Setter.Value>
        </Setter>
        <Setter Property="CurrentLineBorder">
            <Setter.Value>
                <Pen Thickness="0.5">
                    <Pen.Brush>
                        <SolidColorBrush Color="BlueViolet" Opacity="0.3"/>
                    </Pen.Brush>
                </Pen>
            </Setter.Value>
        </Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type editing:TextArea}">
                    <DockPanel Focusable="False">
                        <ItemsControl 
                            DockPanel.Dock="Left"
                            Focusable="False"
                            ItemsSource="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=LeftMargins}">
                            <ItemsControl.ItemsPanel>
                                <ItemsPanelTemplate>
                                    <StackPanel Orientation="Horizontal"/>
                                </ItemsPanelTemplate>
                            </ItemsControl.ItemsPanel>
                        </ItemsControl>
                        <ContentPresenter Panel.ZIndex="-1"	Focusable="False" Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TextView}"/>
                    </DockPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>